The selective transmission and receipt of data over a serial interface has been known in the art for years. Applications in particular that use serial transmission links include telephone systems, audio visual systems, satellite communication systems, and various other applications that transmit data over distances. As is known in the art, a block of data may be transmitted serially as a bit stream, the block selectively transmitted from a sending location such that a receiving location may receive the data in a comprehensible format, recognize a portion of the bit stream as a block of data, and operate on the data accordingly.
One popular method of organizing serial transmissions of data in a time division, multiple access network, is to segregate a frame of data into a number of slots of data, with each slot of data corresponding to a particular communication. In a digital telephone system, for example, a serial link includes a frame synchronization line, a transmit data line, a receive data line, and a clocking signal. A frame synchronization signal on the frame synchronization line synchronizes with a first slot of data within a frame of data to allow the receiving location to determine when the frame begins. The clocking signal synchronizes with each bit of data within the frame to facilitate the latching of data.
Higher level signals, separately transmitted and received, describe how the frame of data is segregated and how the receiving location should operate on the frame of data. Based upon the frame synchronization, the clocking signal, and higher order instructions relating to slot widths and bit contents of the slot widths, the serial stream of data may be received and manipulated to produce input data for use in the particular application.
In the case of a digital telephone system, one particular conversation between a first location and a second location may occupy slot one within a frame of data. In each frame arriving at the first location and leaving the first location, slot one contains voice data that is used to reproduce a phone conversation between the first location and second location. Other conversations may utilize the particular frame of data as well, so long as the data does not occupy slot one. As data passes intermediary locations data may be removed from the data frame and additional data may be added to the data frame. Further, the data from the first location to the second location may be assigned a different slot location before it reaches the second location. However, when the data reaches the second location, receiving equipment at the second location knows in which slot the data resides, receives the data, and operates on the data accordingly.
In order to increase the data transmission capabilities of a digital link, data is often compressed, placed into a slot within a frame, transmitted from the sending location, and received at a remote location. At the remote location, the compressed data in the slot is uncompressed, or expanded, and then further used for the particular application. A compression/expansion system is often referred to as a companding operation. By using a companding operation, the effective band width of a particular digital serial link increases because of the associated increase in data transmission capacity. Various companding algorithms may be used to compand data such as Mu-law and A-law. When companding is used, the transmitting and receiving equipment must both operate in accordance with the particular companding law to function properly.
Prior art companding hardware provided for companding type and enablement selection only during start-up or reset. Thus, the prior art hardware could not facilitate a change in the companding during continued operation. Thus, those prior art devices that were required to selectively compand enabled the companding in software. The software processing requirements of selective companding were great, however, and significant processing time was required simply to perform the companding of data. The processing time not only increased system requirements but delayed other operations.
Thus, there exists a need in the art for an improved apparatus and method for the companding of data.